package com.sunducation.co.pw.map;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

/**
 * @description: HashMap遍历取值的方式及性能比较
 * 这三个类HashMapTest,HashMapTest1,HashMapTest2，不能放在一起，不然运行的结果会跟调用的遍历的顺序有关，所以才分开成三个类来测试
 * 同一个类，多次运行耗时不一样，可能跟运行时散列的内存位置有关
 * @author:chenwenbiao
 * @createTime:2019/7/9 16:48
 * @version：1.0
 **/
public class HashMapTest2 {

    /**
     * 使用直接values方式
     */
    public static long valueSet(){
        HashMap<String, String> map = new HashMap<String, String>();
        for (int i = 0; i < 1000000; i++) {
            map.put("" + i, "keySet" + i);
        }

        long startTime = System.currentTimeMillis();
        for (String value:map.values()) {
//            System.out.println("1:" + value);
        }
        return System.currentTimeMillis() - startTime;
    }

    public static void main(String[] args) {
        long valueSpentTimes = valueSet();
        System.out.println("value set spent times:" + valueSpentTimes);
    }
} 